#include "comm.hpp"


int main()
{
    Init init;  //创建命名管道

    int shmId = SharedMeory::createShm();

    // 挂接到进程地址空间
    char *shmAddr = (char *)shmat(shmId, nullptr, 0);

    int fd = open(FIFO_FILE,O_RDONLY);  //会阻塞在这里，等待写端打开文件
    if(fd < 0){
        perror("open");
        exit(FIFO_OPEN_ERR);
    }

    while(true)
    {
        char c;
        read(fd,&c,sizeof(c));  //会阻塞在这里，对端发送数据后才会往后执行

        std::cout <<"client say# "<< shmAddr;

        sleep(1);
    }

    //去关联
    shmdt(shmAddr);

    //释放共享内存
    shmctl(shmId,IPC_RMID,nullptr);

    return 0;
}